#!/usr/bin/python
# -*- coding: utf-8 -*-

import numpy, wave, array
from marshal import *
import os

def SortMessage(chemin, fich_cle):
        if not os.path.exists(chemin) :
            return "Le chemin vers le fichier audio est introuvable."
        if not os.path.exists(fich_cle) :
            return "Le chemin vers la clé du fichier est erroné."
        
	frames= Conversion(chemin)
	
	dd=open(fich_cle,'rb')
	clef=load(dd)
	
	
	dep=0
	tempc=''
	message=''
	for i in clef :
		for a in range(dep,i+dep) :
			tempc+=str(poids(frames[a,]))
		message+=chr(int(tempc,2))
		tempc=''	
		dep+=i
	
	return 'Message dissimulé : ' + message


def Conversion (fichier = ''):
    
    song=wave.open(fichier,'rb')
    nb_frames=song.getnframes()
    samplerate=song.getframerate()
    all_frames=song.readframes(nb_frames)
    tab_frames=array.array("h",all_frames)
    del all_frames
    frames_total = numpy.array(tab_frames,numpy.int16)
    del tab_frames
    channel=song.getnchannels()
    swidth=song.getsampwidth()
    song.close()
    return frames_total

def poids(n):
	return n & 1


